﻿using Microsoft.VisualStudio.TestTools.UnitTesting;
using Sasa.QualityTools.CodeAnalysis.FxCopIntegrator.Commands;
using System.IO;

namespace Sasa.QualityTools.CodeAnalysis.FxCopIntegrator.Tests.Integration.Commands
{
    [TestClass]
    public class InspectSolutionCommandTest : CommandTestAutomaterBase<InspectSolutionCommand>
    {
        protected override string SolutionRelativePath
        {
            get
            {
                return Path.Combine("InspectSolutionCommand", "solution", "solution.sln");
            }
        }

        protected override string[] SolutionItemsToInspect
        {
            get
            {
                return new string[] { @"solution" };
            }
        }

        protected override string[] ExpectedCheckIds
        {
            get
            {
                return new string[] { "CA2210", "CA1014", "CA2210", "CA1014", "CA2210", "CA1014" };
            }
        }


        [TestInitialize]
        public void SetUp()
        {
            RunOnUIThread(CloseAllWindows);
        }

        [TestCleanup]
        public void TearDown()
        {
            RunOnUIThread(CloseAllWindows);
        }

        [TestMethod]
        [HostType("VS IDE")]
        public void ExecuteShouldShowWarnings()
        {
            base.ExecuteShouldShowWarnings();
        }

        [TestMethod]
        [HostType("VS IDE")]
        public void ExecuteShouldShowMessageBoxWhenFxCopCmdPathIsNotValid()
        {
            base.ExecuteShouldShowMessageBoxWhenFxCopCmdPathIsNotValid();
        }
    }
}
